Wireless digital networks, such as networks operating under the current Electrical and Electronics Engineers (IEEE) 802.11 standards, are spreading in their popularity and availability. With such popularity, however, come problems of enforcing airtime fairness for clients connected to an access point in a wireless network. With downlink transmissions, e.g., packet transmissions from an access point to a plurality of clients, the access point can detect and/or prevent unfair use of airtime by selectively dropping packets to reduce the downlink traffic load of certain clients. Nevertheless, airtime fairness is more difficult to achieve when uplink transmission is involved. This is because, in most wireless networks, a network device, such as an access point, cannot control the flow of client traffic transmissions. As a result, when a network device receives packet transmissions from multiple clients, it is possible for a particular client with a low quality wireless connection to the network device to take a disproportional percentage of airtime, and thereby deteriorate the link quality of the corresponding wireless transmission channel.
Controlling uplink airtime has conventionally been considered difficult, because it typically requires client-side control. Furthermore, client-side control is cumbersome, because (1) it often needs to install separate software on the client, and (2) it needs to be compatible with a diverse client software and hardware platforms. As a result, currently, there is no known ways of effectively enforcing uplink airtime fairness among multiple clients or virtual clients connected to a network device in a wireless network.
The Transmission Control Protocol (TCP) merely has a network congestion avoidance mechanism. Specifically, TCP maintains a congestion window, which limits the total number of unacknowledged packets that may be in transit end-to-end. The congestion window is increased after a connection is initialized and/or after a timeout. It starts with a low initial window size. Thereafter, for every packet acknowledged, the size of congestion window increases such that the congestion window effectively doubles for every round trip time (RTT). When the congestion window exceeds a threshold, a congestion avoidance mechanism is triggered. In the state of congestion avoidance, as long as non-duplicate acknowledgements are received, the congestion window is additively increased with every RTT. When a packet is lost, the likelihood of duplicate acknowledgments increases, and thus the network congestion avoidance mechanism reduces the size of congestion window accordingly. Nevertheless, the TCP congestion control does not address enforcement of wireless medium usage time policies.